package com.example.recall_application.utils;

import androidx.annotation.RequiresApi;


import java.util.Arrays;
import java.util.List;

public class PhoneUtil {

    public static String[] quhao = {"10","20","21","22","23","24","25","26","27","28","29",
            "311", "312", "313", "314", "315", "316", "317", "318", "319", "310", "335", "349", "351", "352", "353", "354", "355", "356", "357", "358", "359", "350", "371", "372", "373", "374", "375", "376", "377", "379", "370", "391", "392", "393", "394", "395", "396", "398", "411", "412", "415", "416", "417", "418", "419", "421", "427", "429", "431", "432", "433", "434", "435", "436", "437", "438", "439", "451", "452", "453", "454", "455", "456", "457", "458", "459", "464", "467", "468", "469", "471", "472", "473", "474", "475", "476", "477", "478", "479", "470", "482", "483",
            "511", "512", "513", "514", "515", "516", "517", "518", "519", "510", "523", "527", "531", "532", "533", "534", "535", "536", "537", "538", "539", "530", "543", "546", "631", "632", "633", "635", "551", "552", "553", "554", "555", "556", "557", "558", "559", "550", "561", "562", "563", "564", "566", "571", "572", "573", "574", "575", "576", "577", "578", "579", "570", "580", "591", "592", "593", "594", "595", "596", "597", "598", "599", "631", "632", "633", "635", "662", "663", "668", "660",
            "711", "712", "713", "714", "715", "716", "717", "718", "719", "710", "722", "724", "728", "731", "734", "735", "736", "737", "738", "739", "730", "743", "744", "745", "746", "751", "752", "753", "754", "755", "756", "757", "758", "759", "750", "762", "763", "766", "768", "769", "760", "771", "772", "773", "774", "775", "776", "777", "778", "779", "770", "791", "792", "793", "794", "795", "796", "797", "798", "799", "790", "701",
            "812", "813", "816", "817", "818", "825", "826", "827", "831", "832", "833", "834", "835", "836", "837", "838", "839", "830", "851", "852", "853", "854", "855", "856", "857", "858", "859", "871", "872", "873", "874", "875", "876", "877", "878", "879", "870", "883", "886", "887", "888", "691", "692", "891", "892", "893", "894", "895", "896", "897", "898", "0911", "912", "913", "914", "915", "916", "917", "919", "931", "932", "933", "934", "935", "936", "937", "938", "939", "930", "941", "943", "951", "952", "953", "954", "955", "971", "972", "973", "974", "975", "976", "977", "979", "970", "991", "992", "993", "994", "995", "996", "997", "998", "999", "990", "901", "902", "903", "906", "908","909"
    };

    /**
     * 处理前缀
     * @param myContacts
     * @return
     */
    public static String handlePhone(String myContacts) {
        List<String> list= Arrays.asList(quhao);
        String phone = myContacts.replace(" ","");
        String index_one = phone.substring(0,1);
        if(index_one.equals("0")){
            String index_three = phone.substring(1,3);
            String index_four = phone.substring(1,4);
            if(list.contains(index_three)){
                return phone.substring(3,phone.length());
            }
            else if(list.contains(index_four)){
                return phone.substring(4,phone.length());
            }
            else{
                return  phone.substring(1,phone.length());
            }
        }
        else if(index_one.equals("+")){
            String index_two = phone.substring(1,3);
            String index_three = phone.substring(3,5);
            String index_four = phone.substring(3,6);

            if(!index_two.equals("86")){
                return phone;
            }
            if(list.contains(index_three)){
                return phone.substring(5,phone.length());
            }
            else if(list.contains(index_four)){
                return phone.substring(6,phone.length());
            }
            else{
                return  phone.substring(3,phone.length());
            }
        }
        else {
            return phone;
        }

    }

//    // 号码
//    public final static String NUM = ContactsContract.CommonDataKinds.Phone.NUMBER;
//    // 联系人姓名
//    public final static String NAME = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
//
//    //上下文对象
//    private Context context;
//    //联系人提供者的uri
//    public static Uri phoneUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
//
//    public PhoneUtil(Context context){
//        this.context = context;
//    }
//
//    //获取所有联系人
//    @RequiresApi(api = Build.VERSION_CODES.M)
//    public static List<String> getPhone(Context context){
//        Log.d("getPhone","enter");
//        List<String> phoneDtos = new ArrayList<>();
//        ContentResolver cr = context.getContentResolver();
//        Cursor cursor = cr.query(phoneUri,new String[]{NUM,NAME},null,null,null);
//        while (cursor.moveToNext()){
//            String phoneDto = new String(cursor.getString(cursor.getColumnIndex(NUM)));
//            if(phoneDtos.size()==0){
//
//                phoneDtos.add(phoneDto);
//                continue;
//            }
//            for(int i=0;i<phoneDtos.size();i++) {
//                if (phoneDtos.get(i).equals(phoneDto)){
//                    Log.d("getPhonelist","equal:"+phoneDto);
//                    break;
//                }
//                if(i==phoneDtos.size()-1){
//                    phoneDtos.add(phoneDto);
//                }
//
//            }
//        }
//        return phoneDtos;
//    }
}